﻿//勿改

/*importPackage(java.lang);
importPackage(Packages.tools);
importPackage(Packages.client);
importPackage(Packages.server);
importPackage(Packages.tools.packet);
importPackage(Packages.scripting);
importPackage(Packages.client.inventory);
importPackage(Packages.constants);*/
var 星星3 = "#fMap/MapHelper/minimap/arrowright#";//黄色小箭头
var 星星4 = "#fUI/Basic/BtHide3/mouseOver/0#";//黄色小箭头
var 爱心 = "#fEffect/CharacterEff/1022223/4/0#";
var 皇冠白 = "#fEffect/CharacterEff/1003252/0/0#";
var 正方箭头 = "#fUI/Basic/BtHide3/mouseOver/0#";
//道具ID 金币 固定材料 防具A 数量 防具B 数量

var 四十三防具列表 = [
    [1132092, 1000000, 2000, 3], //战士 - 单手剑
    [1102294, 1000000, 2000, 3], //战士 - 单手剑
    [1082314, 1000000, 2000, 3], //飞侠 - 短  刀
    [1072521, 1000000, 2000, 3], //法师 - 长  杖
    [1052357, 1000000, 2000, 3], //法师 - 长  杖
    [1003242, 1000000, 2000, 3]
];
var 六十四防具列表 = [
    [1132093, 1000000, "六十四材料", 1132092, 1, false, false],//枫叶突击剑//战士 - 单手剑
    [1102295, 1000000, "六十四材料", 1102294, 1, false, false],//枫叶枭首剑//战士 - 单手剑
    [1082315, 1000000, "六十四材料", 1082314, 1, false, false],//枫叶追魂刺//飞侠 - 短  刀
    [1072522, 1000000, "六十四材料", 1072521, 1, false, false],//枫叶丹心杖//法师 - 长  杖
    [1052358, 1000000, "六十四材料", 1052357, 1, false, false],//枫叶仙姬杖//法师 - 短  杖
    [1003243, 1000000, "六十四材料", 1003242, 1, false, false]
];
var 七十七防具列表 = [
    [1132209, 2000000, "七十七材料", 1132093, 1, false, false],//紫金枫叶单手剑//战士 - 单手剑
    [1102506, 2000000, "七十七材料", 1102295, 1, false, false],//紫金枫叶双手剑//战士 - 单手剑
    [1082498, 2000000, "七十七材料", 1082315, 1, false, false],//紫金枫叶短刀//飞侠 - 短  刀
    [1072768, 2000000, "七十七材料", 1072522, 1, false, false],//紫金枫叶长杖//法师 - 长  杖
    [1052569, 2000000, "七十七材料", 1052358, 1, false, false],//紫金枫叶短杖//法师 - 短  杖
    [1003740, 2000000, "七十七材料", 1003243, 1, false, false]
];



var text = "";
var 选择的类型;
var 消耗的类型;
var 选择的装备;
var 材料ID = 4001126;
var 奖励提示 = "";
var 材料列表 = [
    ["六十四材料", 4260000, 10],
    ["六十四材料", 4260001, 10],
    //
    //["七十七材料", 4001084, 1],
    ["七十七材料", 4260002, 3],
    ["七十七材料", 4260003, 10],
    ["七十七材料", 4260004, 10],
    //

];
var 是否是100级防具 = false;
var 序号 = 0;
var 重置需要点券 = 10000;
var status = 0;
function start() {
    status = -1;
    action(1, 0, 0);
}


function action(mode, type, selection) {
    if (mode == -1) {
        cm.dispose();
    } else {
        if (mode == 1) {
            status++;
        } else {
            status--;
        }
        //
        if (status == -1) {
            cm.dispose();
        } else if (status == 0) {
            text = " ┏━━━━━━━[冒险防具.合成系统]━━━━━━━┓\r\n";
            text += "\t     #b〈#r防具进阶制作#b〉" + 星星3 + "〈#r请做好充分准备#b〉#k#l\r\n";
            text += "\t     #b〈#r防具新手期领的别丢，丢了无法找回！#b〉#k#l\r\n";
            text += "\t     #b〈#r材料副本，野外都会出#b〉#k#l\r\n";
           // text += "\t         #L4##d#b〈100级防具专属增幅#b〉#k#l\r\n";
            //text += "\t           #L5##d#b〈革命防具互换#b〉#k#l\r\n";
            //text += "\t           #L3##d#b〈64枫叶防具互换#b〉#k#l\r\n";
            text += "\t   #L0##d#b〈#r宝石防具进阶#b〉" + 星星3 + " " + 星星3 + " " + 星星3 + "〈#r铂金防具#b〉#k#l\r\n";
            text += "\t   #L1##d#b〈#r铂金防具进阶#b〉" + 星星3 + " " + 星星3 + " " + 星星3 + "〈#r终极防具#b〉#k#l\r\n";
            //text += "\t   #L2##d#b〈#r79级防具进阶#b〉" + 星星3 + " " + 星星3 + " " + 星星3 + "〈#r100级防具#b〉#k#l\r\n";
            text += "\r\n ┗━━━━━━━━━━━━━━━━━━━━━━━━┛\r\n";
            for (var i = 0; i < 六十四防具列表.length; i++) {
                text += "            #v" + 四十三防具列表[i][0] + "# " + 星星3 + " #v" + 六十四防具列表[i][0] + "# " + 星星3 + " #v" + 七十七防具列表[i][0] + "# \r\n";
            }
            text += "\r\n";
            cm.sendSimple(text);
        } else if (status == 1) {

            if (selection == 0) {
                选择的类型 = 六十四防具列表;
                消耗的类型 = 四十三防具列表;
            } else if (selection == 1) {
                选择的类型 = 七十七防具列表;
                消耗的类型 = 六十四防具列表;

            } else if (selection == 3) {
                text = "请把要兑换的防具#e#r放到装备栏第一格#n#k,并选择你想兑换的防具\r\n";
                for (var i = 0; i < 六十四防具列表.length; i++) {
                    text += "#L" + i + "#制作#v" + 六十四防具列表[i][0] + "##b#z" + 六十四防具列表[i][0] + "##k#d[需要1000点券]#l\r\n";
                }
                text += "";
                cm.sendSimple(text);
                序号 = 1;
            } else if (selection == 5) {
                text = "请把要兑换的防具#e#r放到装备栏第一格#n#k,并选择你想兑换的防具\r\n";
                for (var i = 0; i < 七十七防具列表.length; i++) {
                    text += "#L" + i + "#制作#v" + 七十七防具列表[i][0] + "##b#z" + 七十七防具列表[i][0] + "##k#d[需要8000点券]#l\r\n";
                }
                text += "";
                cm.sendSimple(text);
                序号 = 3;
            } else if (selection == 4) {
                text = "#r" + 正方箭头 + "#k请把要重置的无级别防具#e#r放到装备栏第一格#n#k\r\n";
                text += "" + 正方箭头 + "重置后,相当于重新制作了一把无级别防具.\r\n";
                text += "" + 正方箭头 + "重置需要点券:" + 重置需要点券 + ".\r\n";
                text += "            #L2#[各职业无级别的最高G阅览]#l\r\n";
                text += "                  #L1#[开始重置]#l";
                cm.sendSimple(text);
                序号 = 2;
            } else {
               // cm.sendOk("[出错!]");//中间蓝色框
                cm.dispose();
                return;
            }
            if (序号 == 0) {

                text = "\t\t\t\t\t [选择·防具]\r\n";
                for (var i = 0; i < 选择的类型.length; i++) {
                    text += "#L" + i + "#制作#v" + 选择的类型[i][0] + "##b#z" + 选择的类型[i][0] + "##k#d[点击查看材料]#l\r\n";
                }
                text += "";
                cm.sendSimple(text);
            }
        } else if (status == 2) {//0 4 8 12 163
            if (序号 == 1) {
                选择的 = selection;
                选择的ID = 六十四防具列表[选择的][0];
                if (cm.getInventory(1).getItem(1) == null) {
                    cm.sendOk("亲爱的,请把防具放到装备栏第一格在来找我!\r\n");
                    cm.dispose();
                    return;
                }
                //
                开关 = false;
                for (var i = 0; i < 六十四防具列表.length; i++) {
                    if (六十四防具列表[i][0] == cm.getInventory(1).getItem(1).getItemId()) {
                        开关 = true;
                        break;
                    }
                }
                //
                if (cm.getPlayer().getCSPoints(1) < 1000) {
                    cm.sendOk("亲爱的,你的点券不足1000\r\n");
                    cm.dispose();
                    return;
                }
                //
                if (开关 == true) {
                    //
                    cm.removeSlot(1, 1, 1);
                    //
                    给予装备(选择的ID);
                    //
                    cm.gainNX(-1000);//扣点券
                    //
                    cm.sendOk("兑换成功.\r\n");
                    cm.dispose();
                    return;
                } else {
                    cm.sendOk("你装备栏第一格没有64枫叶防具.\r\n");
                    cm.dispose();
                    return;
                }
                //
            } else if (序号 == 3) {
                //
                选择的 = selection;
                选择的ID = 七十七防具列表[选择的][0];
                if (cm.getInventory(1).getItem(1) == null) {
                    cm.sendOk("亲爱的,请把防具放到装备栏第一格在来找我!\r\n");
                    cm.dispose();
                    return;
                }
                //
                开关 = false;
                for (var i = 0; i < 七十七防具列表.length; i++) {
                    if (七十七防具列表[i][0] == cm.getInventory(1).getItem(1).getItemId()) {
                        开关 = true;
                        break;
                    }
                }
                //
                if (cm.getPlayer().getCSPoints(1) < 8000) {
                    cm.sendOk("亲爱的,你的点券不足8000\r\n");
                    cm.dispose();
                    return;
                }
                //
                if (开关 == true) {
                    //
                    cm.removeSlot(1, 1, 1);
                    //
                    给予装备(选择的ID);
                    //
                    cm.gainNX(-8000);//扣点券
                    //
                    cm.sendOk("兑换成功.\r\n");
                    cm.dispose();
                    return;
                } else {
                    cm.sendOk("你装备栏第一格没有79枫叶防具.\r\n");
                    cm.dispose();
                    return;
                }
                //
            } else if (序号 == 2) {
                if (selection == 2) {
                    TT = "\r\n"
                    for (var i = 0; i < 一百防具列表.length; i++) {
                        TT += "#n#k#v" + 一百防具列表[i][0] + "##z" + 一百防具列表[i][0] + "# #e#r最高:" + 一百防具列表[i][7] + "" + (一百防具列表[i][0] == 1382211 || 一百防具列表[i][0] == 1372179 ? "M" : "G") + "\r\n";

                    }
                    cm.sendOk(TT);
                    cm.dispose();
                    return;
                }
                if (cm.getPlayer().getCSPoints(1) < 重置需要点券) {
                    cm.sendOk("亲爱的,你的点券不足" + 重置需要点券 + "\r\n");
                    cm.dispose();
                    return;
                }
                //
                if (cm.getInventory(1).getItem(1) == null) {
                    cm.sendOk("亲爱的,请把无级别枫叶防具放到装备栏第一格在来找我!\r\n");
                    cm.dispose();
                    return;
                }
                //
                //
                开关 = false;
                for (var i = 0; i < 一百防具列表.length; i++) {
                    if (一百防具列表[i][0] == cm.getInventory(1).getItem(1).getItemId()) {
                        开关 = true;
                        break;
                    }
                }
                //
                //
                if (开关 == false) {
                    cm.sendOk("亲爱的,请把无级别枫叶防具放到装备栏第一格在来找我!\r\n");
                    cm.dispose();
                    return;
                }
                //
                //

                //
                是否是100级防具 = true;
                给予装备(cm.getInventory(1).getItem(1).getItemId());
                cm.removeSlot(1, 1, 1);
                //
                cm.gainNX(-重置需要点券);//扣点券
                cm.sendOk("重置成功.\r\n");
                cm.dispose();
                return;
                //
            }
            //道具ID 金币 固定材料 防具A 数量 防具B 数量
            选择的装备 = selection;
            装备ID = 选择的类型[选择的装备][0];
            需要金币 = 选择的类型[选择的装备][1];
            需要材料名称 = 选择的类型[选择的装备][2];
            需要装备材料1ID = 选择的类型[选择的装备][3];
            需要装备材料1数量 = 选择的类型[选择的装备][4];
            需要装备材料2ID = 选择的类型[选择的装备][5];
            需要装备材料2数量 = 选择的类型[选择的装备][6];
            奖励类(材料列表, 需要材料名称, "提示");
            //
            text = "\r\n          #L0#[返回.首页]#l #L1#[开始.制作]#l\r\n\r\n";
            text += "制作#v" + 装备ID + "##z" + 装备ID + "#需要以下材料:\r\n";
            text += "\r\n\t#r.#k需要金币:[#b" + 需要金币 + "#k][拥有:#r" + cm.getMeso() + "#k]";
            text += "\r\n\t#r.#k需要#v" + 需要装备材料1ID + "#x[#b" + 需要装备材料1数量 + "#k把][拥有#r" + cm.getPlayer().getItemQuantity(需要装备材料1ID, false) + "#k把]";
            if (需要装备材料2ID != false) {
                text += "\r\n\t#r.#k需要#v" + 需要装备材料2ID + "#x[#b" + 需要装备材料2数量 + "#k把][拥有#r" + cm.getPlayer().getItemQuantity(需要装备材料2ID, false) + "#k把]";
            }

            text += 奖励提示 + "";
            cm.sendSimple(text);
        } else if (status == 3) {
            if (selection == 0) {
                cm.dispose();
                cm.openNpc(9900000, "防具制作");
                return;
            } else if (selection == 1) {
                if (cm.getInventory(1).isFull(0)) {
                    cm.sendOk("对不起,您的背包满了\r\n");
                    cm.dispose();
                    return;
                }
                //
                //
                if (cm.getMeso() < 需要金币) {
                    cm.sendOk("对不起,金币不足" + 需要金币 + "!\r\n");
                    cm.dispose();
                    return;
                }
                /*  if (cm.getPlayer().getItemQuantity(材料ID, false) < 需要材料数量) {
                     cm.sendOk("对不起,#v" + 材料ID + "#不足" + 需要材料数量 + "个!\r\n");
                     cm.dispose();
                     return;
                 } */
                if (奖励类(材料列表, 需要材料名称, "检测") == false) {
                    cm.sendOk("对不起,您的材料不足!\r\n");
                    cm.dispose();
                    return;
                }
                if (cm.getPlayer().getItemQuantity(需要装备材料1ID, false) != 需要装备材料1数量) {
                    cm.sendOk("对不起,#v" + 需要装备材料1ID + "#不足" + 需要装备材料1数量 + "个!\r\nP:背包只允许放[#b" + 需要装备材料1数量 + "#k]把#b#z" + 需要装备材料1ID + "##k,多余的请存入仓库.");
                    cm.dispose();
                    return;
                }
                if (需要装备材料2ID != false) {
                    if (cm.getPlayer().getItemQuantity(需要装备材料2ID, false) != 需要装备材料2数量) {
                        cm.sendOk("对不起,#v" + 需要装备材料2ID + "#不足" + 需要装备材料2数量 + "个!\r\nP:背包只允许放[#b" + 需要装备材料2数量 + "#k]把#b#z" + 需要装备材料2ID + "##k,多余的请存入仓库.");
                        cm.dispose();
                        return;
                    }
                    cm.gainItem(需要装备材料2ID, -需要装备材料2数量);
                }
                //扣除材料
                奖励类(材料列表, 需要材料名称, "扣除");
                //
                cm.gainMeso(- 需要金币);//扣除多少金币
                cm.gainItem(需要装备材料1ID, -需要装备材料1数量);
                //
                给予装备(装备ID);
                //cm.laba("【枫叶防具合成】" + " : " + "恭喜玩家 [" + cm.getPlayer().getName() + "] 合成了一把 [" + cm.getItemName(装备ID) + "].", 12);
                cm.sendOk("制作成功!\r\n");
                cm.dispose();
                return;
                //
            }
        }
    }
    //


}

function 给予装备(装备ID) {//
  //  var ii = MapleItemInformationProvider.getInstance();
    //var ii = net.sf.cherry.server.MapleItemInformationProvider.getInstance();
    var ii = Packages.server.MapleItemInformationProvider.getInstance();	
    //var type = GameConstants.getInventoryType(装备ID).; //获得装备的类形
    //var ii = MapleItemInformationProvider.getInstance();
    //var type = cm.gainItem(装备ID);	
    var toDrop = ii.randomizeStats(ii.getEquipById(装备ID)).copy(); // 生成一个Equip类
    //
    if (是否是100级防具 == true) {
        toDrop.setUpgradeSlots(10);//可加次数
    }
    //
	Packages.server.MapleInventoryManipulator.addFromDrop(cm.getC(), toDrop, false);
    //cm.getPlayer().getInventory(type).addItem(toDrop); //将这个装备放入包中 这有啥壅
    //cm.getC().getSession().write(MaplePacketCreator.addInventorySlot(toDrop, false)); //刷新背包
    //  cm.getC().getSession().write(MaplePacketCreator.addInventorySlot(type, toDrop, false));
	//cm.getPlayer().getInventory(type).addItem(toDrop);
    //cm.getC().getSession().write(MaplePacketCreator.addInventorySlot(type, toDrop)); 
	//cm.getC().getSession().write(MaplePacketCreator.getShowItemGain(toDrop.getItemId(), 1, true));

}


function 奖励类(奖励, 属性名字, 类型) {//数组名字 属性名字 提示 检测 扣除
    if (类型 == "提示") {
        for (var i = 0; i < 奖励.length; i++) {
            if (奖励[i][0] == 属性名字) {
                if (奖励[i][1] == 1) {
                    奖励提示 += "\r\n\t#r.#k需要金币:[" + 奖励[i][2] + "/" + cm.getMeso() + "]";
                } else if (奖励[i][1] == 2) {
                    奖励提示 += "\r\n\t#r.#k需要抵用:[" + 奖励[i][2] + "/" + cm.getPlayer().getCSPoints(2) + "]";
                } else if (奖励[i][1] == 3) {
                    奖励提示 += "\r\n\t#r.#k需要点券:[" + 奖励[i][2] + "/" + cm.getPlayer().getCSPoints(1) + "]";
                } else {
                    奖励提示 += "\r\n\t#r.#k需要#v" + 奖励[i][1] + "#[" + 奖励[i][2] + "个/拥有" + cm.getPlayer().getItemQuantity(奖励[i][1], false) + "个]";
                }
            }

        }
        return true;
    } else if (类型 == "检测") {
        for (var i = 0; i < 奖励.length; i++) {
            if (奖励[i][0] == 属性名字) {
                if (奖励[i][1] == 1) {
                    if (cm.getMeso() < 奖励[i][2]) {
                        return false;
                    }
                } else if (奖励[i][1] == 2) {
                    if (cm.getPlayer().getCSPoints(2) < 奖励[i][2]) {
                        return false;
                    }
                } else if (奖励[i][1] == 3) {
                    if (cm.getPlayer().getCSPoints(1) < 奖励[i][2]) {
                        return false;
                    }
                } else {
                    if (cm.getPlayer().getItemQuantity(奖励[i][1], false) < 奖励[i][2]) {
                        return false;
                    }
                }
            }

        }
        return true;
    } else if (类型 == "扣除") {
        for (var i = 0; i < 奖励.length; i++) {
            if (奖励[i][0] == 属性名字) {
                if (奖励[i][1] == 1) {
                    cm.gainMeso(- 奖励[i][2]);//扣除多少金币
                } else if (奖励[i][1] == 2) {
                    cm.gainD(- 奖励[i][2]);
                } else if (奖励[i][1] == 3) {
                    cm.gainNX(-奖励[i][2]);
                } else {
                    cm.gainItem(奖励[i][1], -奖励[i][2]);
                }
            }
        }
        return true;
    }

}